package com.cuixichang.minimalism.transfer.factory;

import com.cuixichang.minimalism.transfer.dto.IRouterRelationDTO;
import com.cuixichang.minimalism.transfer.page.IRouterRelationPageRequest;
import com.cuixichang.minimalism.transfer.page.IRouterRelationRequest;
import com.cuixichang.minimalism.transfer.vo.IRouterRelationVO;
import com.cuixichang.minimalism.transfer.po.IRouterRelation;
import org.mapstruct.Builder;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

/**
 * 系统路由绑定关系表对象适配器
 *
 * @author cuixichang
 * @date 2024-12-18
 */
@Mapper(builder = @Builder(disableBuilder = true))
public interface IRouterRelationAssembler {

    IRouterRelationAssembler INSTANCT = Mappers.getMapper(IRouterRelationAssembler.class);

    IRouterRelationDTO convertDto(IRouterRelationRequest request);

    IRouterRelationDTO convertDto(IRouterRelationPageRequest request);

    IRouterRelation convertPo(IRouterRelationDTO dto);

    IRouterRelationDTO convertDto(IRouterRelation po);

    IRouterRelationVO convertVo(IRouterRelationDTO dto);
}